package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Set;


public interface RoleDao {

    Set<Role> findRolesByUserId(Integer userId);

    List<Role> findAll();

    Page<Role> findByCondition(String queryString);

    //添加角色
    void add(Role role);
    //根据id查询角色
    Role findById(Integer id);
    //根据id删除角色
    void delRoleById(Integer id);

    //中间表，维护角色表与菜单表的关系
    void setRoleAndMenuRelation(@Param("role_id") Integer roleId, @Param("menu_id") Integer menuIds);
    //中间表，删除角色表与菜单表的关系
    void delRoleAndMenuRelation(Integer id);

    //查询该id出现了几次
    long findCountById(Integer id);

    //修改角色
    void edit(Role role);

    //根据角色id查询菜单项
    List<Integer> findMenuIdsByRoleId(Integer id);
}
